From cf9074a2e9516806e21a2c26f348d86ed50c56cb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 1 Jan 2018 20:07:24 -0500 Subject: [PATCH] Add x/y to GtkEventControllerMotion::enter We have this information available in enter events, and having it in the controller signal as well makes porting easier. Update existing users. --- gtk/gtkeventcontrollermotion.c | 17 +++++++++++++---- tests/testoverlay.c | 5 ++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/gtk/gtkeventcontrollermotion.c b/gtk/gtkeventcontrollermotion.c index 6fe5f23615..75c293e205 100644 --- a/gtk/gtkeventcontrollermotion.c +++ b/gtk/gtkeventcontrollermotion.c @@ -67,9 +67,15 @@ gtk_event_controller_motion_handle_event (GtkEventController *controller, type = gdk_event_get_event_type (event); if (type == GDK_ENTER_NOTIFY) - g_signal_emit (controller, signals[ENTER], 0); + { + double x, y; + gdk_event_get_coords (event, &x, &y); + g_signal_emit (controller, signals[ENTER], 0, x, y); + } else if (type == GDK_LEAVE_NOTIFY) - g_signal_emit (controller, signals[LEAVE], 0); + { + g_signal_emit (controller, signals[LEAVE], 0); + } else if (type == GDK_MOTION_NOTIFY) { double x, y; @@ -92,6 +98,8 @@ gtk_event_controller_motion_class_init (GtkEventControllerMotionClass *klass) /** * GtkEventControllerMotion::enter: * @controller: The object that received the signal + * @x: the x coordinate + * @y: the y coordinate * * Signals that the pointer has entered the widget. */ @@ -101,7 +109,8 @@ gtk_event_controller_motion_class_init (GtkEventControllerMotionClass *klass) G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, - G_TYPE_NONE, 0); + G_TYPE_NONE, 2, G_TYPE_DOUBLE, G_TYPE_DOUBLE); + /** * GtkEventControllerMotion::leave: * @controller: The object that received the signal @@ -113,7 +122,7 @@ gtk_event_controller_motion_class_init (GtkEventControllerMotionClass *klass) GTK_TYPE_EVENT_CONTROLLER_MOTION, G_SIGNAL_RUN_FIRST, 0, NULL, NULL, - NULL, + NULL, G_TYPE_NONE, 0); /** diff --git a/tests/testoverlay.c b/tests/testoverlay.c index 9eea960532..381ad9117c 100644 --- a/tests/testoverlay.c +++ b/tests/testoverlay.c @@ -315,7 +315,10 @@ test_builder (void) } static void -on_enter (GtkEventController *controller, GtkWidget *overlay) +on_enter (GtkEventController *controller, + double x, + double y, + GtkWidget *overlay) { GtkWidget *child = gtk_event_controller_get_widget (controller); -- 2.30.2